<?php
namespace app\api\controller\v1;
use app\common\controller\Api;
use app\admin\model\Article;

class News extends Api
{
    // 不需要登录和权限验证
    protected $noNeedLogin = '*';
    protected $noNeedRight = '*';

    /**
     * 获取新闻列表
     */
    public function getNewsList()
    {
        // 查询 fa_article 表
        $newsList = Article::field('id, title, thumb as image, create_time as publish_time')
            ->where('status', 1) // 筛选状态为发布的新闻
            ->order('create_time', 'desc') // 按发布时间倒序排列
            ->select();

        // 添加点赞数和浏览数（假设这些字段需要手动构造）
        foreach ($newsList as &$item) {
            $item['likes'] = rand(100, 1000); // 模拟点赞数
            $item['views'] = rand(500, 5000); // 模拟浏览数
        }

        return json([
            'code' => 200,
            'msg' => 'success',
            'data' => $newsList
        ]);
    }

    /**
     * 获取新闻详情
     */
    public function getNewsDetail()
    {
        // 获取请求参数中的新闻 ID
        $id = input('id/d'); // 获取新闻 ID（整数类型）

        if (!$id) {
            return json(['code' => 400, 'msg' => '缺少新闻 ID']);
        }

        // 查询 fa_article 表
        $newsDetail = Article::field('id, title, thumb as image, content, create_time as publish_time')
            ->where('id', $id)
            ->where('status', 1) // 确保是已发布的新闻
            ->find();

        if (!$newsDetail) {
            return json(['code' => 404, 'msg' => '新闻不存在']);
        }

        // 添加点赞数和浏览数（假设这些字段需要手动构造）
        $newsDetail['likes'] = rand(100, 1000); // 模拟点赞数
        $newsDetail['views'] = rand(500, 5000); // 模拟浏览数

        return json([
            'code' => 200,
            'msg' => 'success',
            'data' => $newsDetail
        ]);
    }
}